/**
 * @file role.js
 * @description 权限相关接口
 * @author YIBOSHEN
 * @date 07-13-2021
 */

import request from '@/utils/request'

/**
  * 角色列表
  */
export function getRoleList() {
  return request({
    url: `/v1/role`,
    method: 'get'
  })
}

/**
  * 新增角色
  */
export function addRole({ name }) {
  return request({
    url: `/v1/role`,
    method: 'post',
    data: {
      name
    }
  })
}

/**
  * 修改角色
  */
export function editRole({ id, name }) {
  return request({
    url: `/v1/role/${id}`,
    method: 'put',
    data: {
      name
    }
  })
}

/**
  * 删除角色
  */
export function delRole(id) {
  return request({
    url: `/v1/role/${id}`,
    method: 'delete'
  })
}

/**
  * 角色功能列表
  */
export function getFunctionList(role_id) {
  return request({
    url: `/v1/function?role_id=${role_id}`,
    method: 'get'
  })
}

/**
  * 新增角色功能
  */
export function addFunction(role_id, functin_id) {
  return request({
    url: `/v1/role/${role_id}/function/${functin_id}`,
    method: 'post'
  })
}

/**
  * 删除角色功能
  */
export function deleteFunction(role_id, functin_id) {
  return request({
    url: `/v1/role/${role_id}/function/${functin_id}`,
    method: 'delete'
  })
}

/**
  * 获取角色下所有员工
  */
export function getRoleEmp({ role_id, pagesize = 10, pagenum = 1, name }) {
  return request({
    url: `/v1/role/${role_id}/employees?pagenum=${pagenum}&pagesize=${pagesize}&name=${name}`,
    method: 'get'
  })
}

/**
  * 员工关联角色
  */
export function addRoleEmp({ id, role_id }) {
  return request({
    url: `/v1/employee/${id}/role?role_id=${role_id}`,
    method: 'post'
  })
}
